                Page 121
dsolve({diff(y(t),t) = r*y(t)*(1-y(t)/k),y(0)=y0},y(t));

                Page 122
r:=1; k:=3;
dsolve({ diff(y(t),t)=r*y(t)*(1-y(t)/k),y(0)=1},y(t));
y1:=unapply(rhs(%),t);
dsolve({ diff(y(t),t)=r*y(t)*(1-y(t)/k),y(0)=2},y(t));
y2:=unapply(rhs(%),t);
dsolve({ diff(y(t),t)=r*y(t)*(1-y(t)/k),y(0)=4},y(t));
y4:=unapply(rhs(%),t);
plot({ y1(t),y2(t),y4(t)},t=0..5,y=0..5);

                Page 123
K:=1;
rho:=3.0;
c:= (rho/K)/(1+rho):
y[0]:=1/48.0;
for i from 1 to 60 do
   y[i]:=(1+rho)*y[i-1]*(1-c*y[i-1]);
od;
pts:=[seq([i,y[i]],i=0..60)];
plot(pts);

                Page 124
restart;
r:=1; theta:=1/5; K:=1;
plot([y,r*(y/theta-1)*(1-y/K),y=0..1],-.2..1,-1..1);

                Page 125
r:=1; theta:=1/5; K:=1;
inits:={[0,.05],[0,.1],[0,0.3],[0,.5],[0,1],[0,0.7],[0,1.5]};
with(DEtools):
DEplot(diff(y(t),t)=r*y(t)*(y(t)/theta-1)*(1-y(t)/K),
   y(t),t=0..3,inits, arrows=NONE,stepsize=0.1);

               Exercises/Experiments
1c.
Anderfit:=t-> alpha/(1+beta*exp(-delta*t));
dsolve(
 { diff(y(t),t)-delta*y(t)*(1-y(t)/alpha)=0,
 y(0)=alpha/(1+beta)},y(t));
alpha:=387.980205; beta:=54.0812024;
delta:=0.02270347337;
J:=plot(Anderfit(t),t=0..200):
tt:=[seq(i*10,i=0..20)];
pop:=[ 3.929214, 5.308483, 7.239881, 9.638453,
   12.866020, 17.069453, 23.191876,  31.433321,
   39.818449, 50.155783, 62.947714, 75.994575,
   91.972266, 105.710620, 122.775046,
   131.669275, 151.325798,179.323175,
   203.302031, 226.545805, 248.709873];
data:= [seq([tt[i],pop[i]],i=1..21)];
K:=plot(data,style=POINT):
plots[display]({ J,K});
expfit:= t-> exp(0.02075384393*t+1.766257672);
L:=plot(expfit(t),t=0..200):
plots[display]({ J,K,L});
plot(Anderfit(t-1790),t=1790..2150);

3d.
K:= 15;
h:=(t,B)->0.48*B*(1-B/K)-2*B^2/(4+B^2);
plot({h(0,B),B=0..20);
inits:=[0,1], [0,2], [0,4], [0,5], [0,6],
   [0,8], [0,10], [0,12], [0,14], [0,16];
with(DEtools);
DEplot(diff(y(t),t)=h(t,y(t)),y(t),t=0..30,
  {inits,arrows=NONE,stepsize=0.1);

4.
N:=10: delT:=1/N:
# t is now linked to index i by t=-1+(i-1)*delT
for i from 1 to N+1 do
   f[i]:=1:
od:
# work from t=0 in steps of delT
tfinal:=10: # end time tfinal, end index is n
n:=(tfinal+1)*N+1:
K:=3; r:=1.2;
for i from N+1 to n-1 do
   t:=-1+(i-1)*delT:
   delY:=r*f[i-N]*(1-f[i-N]/K)*delT: # N back=delay of 1
   f[i+1]:=f[i]+delY: # Eulers method
od;
pts:=[seq([i,f[i]],i=0..n)];
plot(pts);




